#!/bin/sh

# 检查是否已经添加到 .zshrc 中
if ! grep -q "alias pylinux=" ~/.zshrc; then
    # 获取当前脚本的完整路径
    SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")"
    # 将启动命令添加到 .zshrc 中
    echo "alias pylinux='$SCRIPT_PATH'" >> ~/.zshrc
    echo "已将 'pylinux' 命令添加到 .zshrc 中。"
    source ~/.zshrc
fi

# 检查 pip3 是否已安装
if ! command -v pip3 &> /dev/null; then
    echo "pip3 未安装，正在安装..."
    pkg install python-pip -y || {
        echo "pip3 安装失败，请手动安装。"
        exit 1
    }
fi

# 检查并安装缺失的Python第三方库
check_and_install_requirements() {
    PYTHON_SCRIPT=$1  # Python脚本文件名作为参数传入

    # 确保 setuptools 已安装
    if ! python3 -m pip show setuptools >/dev/null 2>&1; then
        echo "正在安装 setuptools..."
        pip3 install setuptools
        if [ $? -ne 0 ]; then
            echo "安装 setuptools 失败，请检查网络连接。"
            exit 1
        fi
    fi

    if [ -f "$PYTHON_SCRIPT" ]; then
        echo "检测并安装Python依赖库..."

        # 仅保留第三方库（非内置库）
        MISSING_LIBS=$(python3 -c "
import pkg_resources
import sys

with open('$PYTHON_SCRIPT', 'r') as f:
    lines = f.readlines()

# 提取导入的库
import_statements = [line.strip() for line in lines if line.startswith('import') or line.startswith('from')]

# 预定义内置库列表
builtin_libs = {'re', 'time', 'json', 'random', 'concurrent'}

required = set()
for stmt in import_statements:
    parts = stmt.split()
    if parts[0] == 'import':
        lib_name = parts[1].split('.')[0]
    elif parts[0] == 'from':
        lib_name = parts[1].split('.')[0]

    # 只添加非内置库
    if lib_name not in builtin_libs:
        required.add(lib_name)

# 检查哪些库未安装
installed = {pkg.key for pkg in pkg_resources.working_set}
missing = required - installed

if missing:
    sys.stdout.write(' '.join(missing))
")

        if [ -n "$MISSING_LIBS" ]; then
            echo "缺少的库: $MISSING_LIBS，正在安装..."
            if pip3 install $MISSING_LIBS; then
                echo "成功安装缺失的库: $MISSING_LIBS"
            else
                echo "安装库时出错，请检查您的网络连接和pip配置。"
                exit 1
            fi
        else
            echo "所有依赖库已安装。"
        fi
    else
        echo "Python脚本文件不存在，无法检查依赖库。"
    fi
}

# 下载并运行 Python 脚本的函数
download_and_run_python_script() {
    PYTHON_SCRIPT_URL=$1  # 脚本 URL 作为参数传入
    SCRIPT_NAME=$(basename "$PYTHON_SCRIPT_URL")

    echo "下载 Python 脚本 $SCRIPT_NAME..."
    if ! curl -O "$PYTHON_SCRIPT_URL"; then
        echo "下载脚本失败，请检查 URL 或网络连接。"
        exit 1
    fi

    echo "给予脚本执行权限 (chmod +x)..."
    chmod +x "$SCRIPT_NAME"

    # 检查并安装所需依赖
    check_and_install_requirements "$SCRIPT_NAME"

    echo "运行 Python 脚本..."
    if ! python3 ./"$SCRIPT_NAME"; then
        echo "运行脚本失败，请检查脚本内容和依赖库。"
        exit 1
    fi
}

fetch_copy() {
    # 使用 curl 获取文案，并确保输出后换行
    response=$(curl -s -X GET 'https://api.78san.top/cw/index.php')
    # 为文案添加颜色，并打印
    echo -e "\033[32m$response\033[0m"
}



# 显示主菜单
show_menu() {
    echo "▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
    echo "     散小战Linux工具箱        "
    echo " 散小战个人QQ3090886054    "
    echo " 散小战个人QQ3574784074    "
    echo " 散小战个人资源网blog.78san.cn"
    echo "如果需要二次执行直接输入pylinux"
    echo "▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
    echo "1) 短信轰炸1"
    echo "2) 开源版短信轰炸2"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "3) Q绑查绑高级版本3"
    echo "注高级版本的80%可以查"
    echo "4) Q绑查绑4"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "5) 身份二要素5"
    echo "6) 身份二要素6（备用）"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "7) 全自动跑Q现机7"
    echo "8) 全自动跑Q现机8（备用）"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "9) 散小战TT反后三高级版9"
    echo "注高级版本的直接出手机号"
    echo "10) 散小战TT反后三10（备用）"
    echo "11) 获取QQ群链接11"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "12) 高级版本权益12"
    fetch_copy  # 调用函数获取并显示文案
    echo "---------------------------"
    echo "u) 卸载工具箱"
    echo "q) 退出"
    echo " 散小战个人QQ3574784074    "
    echo "==========================="
    echo "高级版本只需要20元永久"
    echo "需要的赶紧找作者购买"
}

# 其他函数和脚本内容保持不变...


python3 -c "import os, re; print('os and re modules are available')"

show_menu

# 读取用户输入
read -p "请输入对应的序列号: " choice

# 根据用户输入执行对应脚本
case $choice in
    1)
        echo "正在执行: 短信轰炸"
        ;;
    2)
        download_and_run_python_script "https://gitee.com/Sanxiaozhan/personal-linux-toolbox/raw/master/py/kaiduan.py"
        ;;
    3)
        echo "正在执行: Q绑查绑高级版本3"
        echo "免费版本不支持此功能"
        echo "请找散小战开通此功能"
        echo "散小战QQ3574784074"
        echo "作者QQ群374268366"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        echo "可以直接输入11并获取QQ群链接复制然后打开浏览器粘贴上去就可以了"
        ;;
    4)
        echo "正在执行: Q绑查绑4"
        echo "作者QQ3574784074"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        download_and_run_python_script "https://gitee.com/Sanxiaozhan/personal-linux-toolbox/raw/master/py/qbang.py"
        ;;
    5)
        echo "正在执行: 身份二要素5"
        echo "作者QQ3574784074"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        download_and_run_python_script "https://gitee.com/Sanxiaozhan/personal-linux-toolbox/raw/master/py/senfen.py"
        ;;
    6)
        echo "正在执行: 身份二要素6（备用）"
        echo "作者QQ3574784074"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        download_and_run_python_script "https://gitee.com/Sanxiaozhan/personal-linux-toolbox/raw/master/py/senfen.py"
        ;;
    7)
        echo "正在执行: 全自动跑Q现机7"
        echo "免费版本不支持此功能"
        echo "请找散小战开通此功能"
        echo "散小战QQ3574784074"
        echo "作者QQ群374268366"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        echo "可以直接输入11并获取QQ群链接复制然后打开浏览器粘贴上去就可以了"
        ;;
    8)
        echo "正在执行: 全自动跑Q现机8（备用）"
        echo "免费版本不支持此功能"
        echo "请找散小战开通此功能"
        echo "散小战QQ3574784074"
        echo "作者QQ群374268366"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        echo "可以直接输入11并获取QQ群链接复制然后打开浏览器粘贴上去就可以了"
        ;;
    9)
        echo "正在执行: 散小战TT反后三高级版9"
        echo "作者QQ3574784074"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        download_and_run_python_script "https://gitee.com/Sanxiaozhan/personal-linux-toolbox/raw/master/py/hosan.py"
        ;;
    10)
        echo "正在执行: 散小战TT反后三10（备用）"
        echo "免费版本不支持此功能"
        echo "请找散小战开通此功能"
        echo "散小战QQ3574784074"
        echo "作者QQ群374268366"
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        echo "可以直接输入11并获取QQ群链接复制然后打开浏览器粘贴上去就可以了"
        ;;
    11)
        echo "正在执行: 获取QQ群链接"
        echo "作者QQ3574784074"
        sleep 5s
        echo "高级版本只需要20元永久"
        echo "需要的赶紧找作者购买"
        echo "http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=_quTXmLDZ_RGErksowD5rh7BlVscz9kI&authKey=WeoXnS5%2B%2Bm%2ByptQMKWhAuBuJlzUqD8UAwQwCdyvN3ihXb%2FhHz07EJncp3rFOQYqE&noverify=0&group_code=374268366"
        ;;
    12)
        echo "正在执行: 高级版本权益说明"
        echo "作者QQ3574784074"
        sleep 3s
        echo "高级版本只需要20元永久"
        sleep 1s
        echo "可以永久享受高级版功能"
        sleep 1s
        echo "可以享受高级版的功能以及权益"
        sleep 1s
        echo "可以享受高级的功能以及售后客服"
        sleep 1s
        echo "可以享受无广告没有任何限制功能"
        sleep 1s
        echo "作者QQ3574784074/3324124608"
        ;;
    # 其他case条目不变
    u)
        echo "正在卸载工具箱"
        sed -i '/alias pylinux=/d' ~/.zshrc
        echo "已从 .zshrc 中移除 'pylinux' 命令。请重新连接SSH"
        source ~/.zshrc
        ;;
    q)
        echo "退出工具箱"
        return 0
        ;;
    *)
        echo "无效的选项，请重新运行脚本并选择有效的序列号"
        ;;
esac